package com.gitee.wsl.net.either.annotation

import kotlin.annotation.AnnotationTarget.*
import kotlin.RequiresOptIn.Level
import kotlin.annotation.AnnotationRetention
/**
 * Marks declarations that are **internal** in EitherNet API, which means that they should not be
 * used outside of `com.slack.eithernet`, because their signatures and semantics will change between
 * future releases without any warnings and without providing any migration aids.
 */
@Retention(AnnotationRetention.BINARY)
@Target(CLASS, FUNCTION, TYPEALIAS, PROPERTY, CONSTRUCTOR)
@RequiresOptIn(
  level = Level.ERROR,
  message =
    "This is an internal EitherNet API that " +
      "should not be used from outside of EitherNet. No compatibility guarantees are provided.",
)
annotation class InternalEitherNetApi